﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Mail;
using System.Text;

namespace CARMSBusiness
{
   public  class MailTaskBase:TaskBase
    {

        /// <summary>
        /// 定时发送 mailtask中的邮件
        /// </summary>
        public override void Run()
        {
            //SendMailTask();
        }

        //private void SendMailTask()
        //{
        //    var mailCollection = new CustomEmailCollection();
        //    mailCollection.GetMulti(CustomEmailFields.IsSent == false & CustomEmailFields.SendTimes < 4);

        //    var strErrMessage = string.Empty;
        //    foreach (var mail in mailCollection)
        //    {
        //        strErrMessage = string.Empty;
        //        var boolSend = SendMail(mail, ref strErrMessage);
        //        if (boolSend)
        //        {
        //            mail.IsSent = true;
        //            mail.Save();
        //        }
        //        else
        //        {
        //            mail.ErrMessage = strErrMessage;
        //            mail.SendTimes += 1;
        //            mail.Save();
        //        }
        //    }
        //}

        //public static bool SendMail(CustomEmailEntity mailEntity, ref string strErrMessage)
        //{
        //    try
        //    {
        //        System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient(smtpServer);
        //        System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
        //        mail.From = new System.Net.Mail.MailAddress(smtpMailFrom);

        //        if (!string.IsNullOrEmpty(mailEntity.MailTo))
        //        {
        //            SeperateAddress(mail.To, mailEntity.MailTo);

        //        }
        //        if (!string.IsNullOrEmpty(mailEntity.MailCc))
        //        {

        //            SeperateAddress(mail.CC, mailEntity.MailCc);
        //        }
        //        if (!string.IsNullOrEmpty(mailEntity.MailBcc))
        //        {
        //            SeperateAddress(mail.Bcc, mailEntity.MailBcc);
        //        }

        //        mail.Sender = new System.Net.Mail.MailAddress(smtpMailFrom);
        //        mail.Subject = mailEntity.Subject;
        //        mail.IsBodyHtml = false;
        //        mail.Body = mailEntity.Body;
        //        smtp.Credentials = new NetworkCredential(smtpUser, smtpPassword);
        //        smtp.Port = mailPort;
        //        smtp.Send(mail);
        //        return true;
        //    }
        //    catch (Exception err)
        //    {
        //        strErrMessage = err.Message;
        //        return false;
        //    }
        //}

        //private static void SeperateAddress(MailAddressCollection objMailAddress, string strMailList)
        //{
        //    int indexFrom = 0;
        //    int indexTo = 0;
        //    if (strMailList.IndexOf(";") > 0)
        //    {
        //        string[] split = strMailList.Split(';');
        //        foreach (var s in split)
        //        {
        //            if (s.Trim().Length > 0)
        //            {
        //                objMailAddress.Add(s.Trim());
        //            }
        //        }
        //    }
        //    else
        //    {
        //        if (strMailList.Trim().Length > 0)
        //        {
        //            objMailAddress.Add(strMailList.Trim());
        //        }
        //    }
        //}

    }
}
